This repository has been archived by the owner on Dec 30, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 386
feat(queryRules): add context features to connector [part 3] #2258
Merged
francoischalifour
merged 7 commits into
feat/mqr-queryRuleCustomData
from
feat/mqr-connectQueryRules-context
Apr 8, 2019
Merged
feat(queryRules): add context features to connector [part 3] #2258
francoischalifour
merged 7 commits into
feat/mqr-queryRuleCustomData
from
feat/mqr-connectQueryRules-context
Apr 8, 2019
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Deploy preview for react-instantsearch ready! Built with commit acad72c https://deploy-preview-2258--react-instantsearch.netlify.com |
francoischalifour
force-pushed
the
feat/mqr-connectQueryRules-context
branch
from
April 2, 2019 12:02
50db24e
to
81d3521
Compare
francoischalifour
changed the title
feat(connectQueryRules): add context features
feat(queryRules): add context features to connector [part 3]
Apr 3, 2019
samouss
suggested changes
Apr 3, 2019
packages/react-instantsearch-core/src/connectors/__tests__/connectQueryRules.ts
Show resolved
Hide resolved
packages/react-instantsearch-core/src/connectors/__tests__/connectQueryRules.ts
Outdated
Show resolved
Hide resolved
packages/react-instantsearch-core/src/connectors/connectQueryRules.ts
Outdated
Show resolved
Hide resolved
samouss
approved these changes
Apr 4, 2019
packages/react-instantsearch-core/src/connectors/__tests__/connectQueryRules.ts
Outdated
Show resolved
Hide resolved
francoischalifour
added a commit
that referenced
this pull request
Apr 8, 2019
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This adds context-related features to the
connectQueryRules
connector. This allows to set rule contexts (calledruleContexts
) of the search parameters based on active filters.Query rules are by default generic when not provided any context. If you provide a context, they become contextual and are only triggered when the context is matched.
Implementation
The implementation is similar to algolia/instantsearch#3617 except that React InstantSearch relies on the search state, not on the helper search parameters. The search state drives the search parameters.
This brings two main limitations:
Configure
doesn't update the search state. This was made by design. It is therefore not possible to set initialruleContexts
based onConfigure
. An alternative is to add an initialruleContexts
viatransformRuleContexts
.Laptops > Surface
→['Laptops', 'Surface']
). In React InstantSearch, there's no way to retrieve the separator value used and therefore no way to split the hierarchical value.Laptops > Surface
remains as is and the hierarchicaltrackedFilters
functions are called with these values.Related